# -*- coding: utf-8 -*-
import os
import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider


# 将oss中农的图片处理并存入本地
def made_pictures():
    # 从环境变量中获取访问凭证。运行本代码示例之前，请确保已设置环境变量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
    auth = oss2.ProviderAuth(EnvironmentVariableCredentialsProvider())
    # yourEndpoint填写Bucket所在地域对应的Endpoint。以华东1（杭州）为例，Endpoint填写为https://oss-cn-hangzhou.aliyuncs.com。
    # 填写Bucket名称。
    bucket = oss2.Bucket(auth, 'https://oss-cn-beijing.aliyuncs.com', 'the-design-lifetime')
    # yourObjectName填写目标图片名称。若图片不在Bucket根目录，需携带文件访问路径，例如example/example.jpg。

    directory1 = '/path/to/picture'
    file_name1 = 'LocalPic'
    new_pic = os.path.join(directory1, file_name1)

    # 确保目录存在，如果不存在则创建它
    os.makedirs(os.path.dirname(new_pic), exist_ok=True)
    key = 'yourObjectName'
    # 定义保存图片的目录
    directory = '/home/user/images'
    # 定义文件名
    file_name = 'processed_image.jpg'

    # 使用os.path.join来构建安全的文件路径
    # new_pic = os.path.join(directory, file_name)

    # 若目标图片不在指定Bucket内，需上传图片到目标Bucket。
    bucket.put_object_from_file(key, 'yourLocalFile')

    # 将图片缩放为固定宽高100 px后保存到本地。
    # style = 'image/resize,m_fixed,w_100,h_100'
    # bucket.get_object_to_file(key, new_pic, process=style)

    # 图片处理完成后，若Bucket内的原图不再需要，可以删除原图。
    # bucket.delete_object(key)
    # 若处理后的图片不再需要，可以删除处理后的图片。
    # os.remove(new_pic)


